package sv.com.servicio.seguridad.usuario.rems;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;


import sv.com.modelo.seguridad.rems.Rol;
import sv.com.modelo.seguridad.rems.Usuario;
@Transactional
public class RolImpl implements RolServicio {
	
	private EntityManager em;
	
	@PersistenceContext
    public void setEntityManager(EntityManager em) {
        this.em = em;
    }
	
	  private EntityManager getEntityManager() {
	        return em;
	    }
	
	  
	public List<Rol> findAll() {
		   Query query = getEntityManager().createQuery("select p FROM Person p");
	        return query.getResultList();

	}

	@SuppressWarnings("unchecked")
/*	@Transactional (propagation = Propagation.REQUIRED, readOnly = false)
	public Rol buscarRolNombre(String nombreRol){
		Query query = em.createQuery("select r FROM rol r where r.nombre_rol=?" );
		query.setParameter(1, nombreRol);
        List<Rol> rol = query.getResultList(); 
		if(rol!=null && rol.size()==1)
			return (Rol)rol.get(0);
		else return null;
	}*/
	@Override
	public void save(Rol rol) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void remove(int id) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public Rol buscarPorNombreRol(String nombreRol) {
		// TODO Auto-generated method stub
		Query query = em.createQuery("select r FROM rol r where r.nombre_rol=?" );
		query.setParameter(1, nombreRol);
        List<Rol> rol = query.getResultList(); 
		if(rol!=null && rol.size()==1)
			return (Rol)rol.get(0);
		else return null;
	}


}
